package com.taursys.model.test; import junit.framework.TestCase; import com.taursys.model.*; /* JUnitTest case for class: com.taursys.model.VOComparator */ public class VOComparatorTest extends TestCase { VOValueHolder holder; VOComparator comparator; TestValueObject vo1; TestValueObject vo2; public VOComparatorTest(String _name) { super(_name); } /* setUp method for test case */ protected void setUp() { holder = new VOValueHolder(); holder.setValueObjectClass(TestValueObject.class); comparator = new VOComparator(); comparator.setVOValueHolder(holder); vo1 = new BeverlyCrusher(); vo2 = new JeanLucPicard(); } /* tearDown method for test case */ protected void tearDown() { } /* test for method compare(..) */ public void testCompareInvalidProperty() { comparator.setPropertyName("xxxx"); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testComparePropertiesNull() { comparator.setPropertyNames(null); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testComparePropertiesEmpty() { comparator.setPropertyNames(new String[] {}); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareHolderNull() { comparator.setPropertyName("fullName"); comparator.setVOValueHolder(null); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareNullPropertyName() { comparator.setPropertyName(null); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareFirstNull() { comparator.setPropertyName("fullName"); assertEquals("sort direction", -1, comparator.compare(null, vo2)); } /* test for method compare(..) */ public void testCompareSecondNull() { comparator.setPropertyName("fullName"); assertEquals("sort direction", 1, comparator.compare(vo1, null)); } /* test for method compare(..) */ public void testCompareBothNull() { comparator.setPropertyName("fullName"); assertEquals("sort direction", 0, comparator.compare(null, null)); } /* test for method compare(..) */ public void testCompareSinglePropertyAsc() { comparator.setPropertyName("fullName"); assertTrue("sort direction negative", comparator.compare(vo1, vo2) < 0); } /* test for method compare(..) */ public void testCompareSinglePropertyAscEqual() { comparator.setPropertyName("createDate"); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareSinglePropertyAscFirstNull() { vo1.setCreateDate(null); comparator.setPropertyName("createDate"); assertEquals("sort direction", -1, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareSinglePropertyAscSecondNull() { vo2.setCreateDate(null); comparator.setPropertyName("createDate"); assertEquals("sort direction", 1, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareSinglePropertyAscBothNull() { vo1.setCreateDate(null); vo2.setCreateDate(null); comparator.setPropertyName("createDate"); assertEquals("sort direction", 0, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareSinglePropertyDsc() { comparator.setPropertyName("fullName"); comparator.setAscendingOrder(false); assertTrue("sort direction positive", comparator.compare(vo1, vo2) > 0); } /* test for method compare(..) */ public void testCompareMultiplePropertiesAscFirstPropEqual() { comparator.setPropertyNames(new String[] {"createDate","salary"}); assertEquals("sort direction", -1, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareMultiplePropertiesAscSecondPropEqual() { comparator.setPropertyNames(new String[] {"salary", "createDate"}); assertEquals("sort direction", -1, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareMultiplePropertiesMixedAllSpecified() { comparator.setPropertyNames(new String[] {"salary", "birthdate"}); comparator.setAscendingOrders(new boolean[] {false, true}); assertEquals("sort direction", 1, comparator.compare(vo1, vo2)); } /* test for method compare(..) */ public void testCompareMultiplePropertiesMixedFirstSpecified() { comparator.setPropertyNames(new String[] {"salary", "birthdate"}); comparator.setAscendingOrders(new boolean[] {false}); assertEquals("sort direction", 1, comparator.compare(vo1, vo2)); } /* Executes the test case */ public static void main(String[] argv) { String[] testCaseList = {VOComparatorTest.class.getName()}; junit.swingui.TestRunner.main(testCaseList); } }